home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / debian_DSA-379.nasl < prev    next >
Text File  |  2005-03-31  |  5KB  |  105 lines

  1. # This script was automatically generated from the dsa-379
  2. # Debian Security Advisory
  3. # It is released under the Nessus Script Licence.
  4. # Advisory is copyright 1997-2004 Software in the Public Interest, Inc.
  5. # See http://www.debian.org/license
  6. # DSA2nasl Convertor is copyright 2004 Michel Arboi
  7.  
  8. if (! defined_func('bn_random')) exit(0);
  9.  
  10. desc = '
  11. Alexander Hvostov, Julien Blache and Aurelien Jarno discovered several
  12. security-related problems in the sane-backends package, which contains
  13. an API library for scanners including a scanning daemon (in the
  14. package libsane) that can be remotely exploited.  These problems allow
  15. a remote attacker to cause a segmentation fault and/or consume arbitrary
  16. amounts of memory.  The attack is successful, even if the attacker\'s
  17. computer isn\'t listed in saned.conf.
  18. You are only vulnerable if you actually run saned e.g. in xinetd or
  19. inetd.  If the entries in the configuration file of xinetd or inetd
  20. respectively are commented out or do not exist, you are safe.
  21. Try "telnet localhost 6566" on the server that may run saned.
  22. If you
  23. get "connection refused" saned is not running and you are safe.
  24. The Common Vulnerabilities and Exposures project identifies the
  25. following problems:
  26.  
  27.  
  28.  
  29. CAN-2003-0773:
  30.  
  31. saned checks the identity (IP address) of the remote host only
  32.    after the first communication took place (SANE_NET_INIT).  So
  33.    everyone can send that RPC, even if the remote host is not allowed
  34.    to scan (not listed in saned.conf).
  35. saned lacks error checking nearly everywhere in the code. So
  36.    connection drops are detected very late. If the drop of the
  37.    connection isn\'t detected, the access to the internal wire buffer
  38.    leaves the limits of the allocated memory. So random memory "after"
  39.    the wire buffer is read which will be followed by a segmentation
  40.    fault.
  41. If saned expects strings, it mallocs the memory necessary to store
  42.    the complete string after it receives the size of the string. If
  43.    the connection was dropped before transmitting the size, malloc
  44.    will reserve an arbitrary size of memory. Depending on that size
  45.    and the amount of memory available either malloc fails (->saned
  46.    quits nicely) or a huge amount of memory is allocated. Swapping
  47.    and OOM measures may occur depending on the kernel.
  48. saned doesn\'t check the validity of the RPC numbers it gets before
  49.    getting the parameters.
  50. If debug messages are enabled and a connection is dropped,
  51.    non-null-terminated strings may be printed and segmentation faults
  52.    may occur.
  53. It\'s possible to allocate an arbitrary amount of memory on the
  54.    server running saned even if the connection isn\'t dropped.  At the
  55.    moment this cannot easily be fixed according to the author.
  56.    Better limit the total amount of memory saned may use (ulimit).
  57. For the stable distribution (woody) this problem has been
  58. fixed in version 1.0.7-4.
  59. For the unstable distribution (sid) this problem has been fixed in
  60. version 1.0.11-1 and later.
  61. We recommend that you upgrade your libsane packages.
  62.  
  63.  
  64. Solution : http://www.debian.org/security/2003/dsa-379
  65. Risk factor : High';
  66.  
  67. if (description) {
  68.  script_id(15216);
  69.  script_version("$Revision: 1.4 $");
  70.  script_xref(name: "DSA", value: "379");
  71.  script_cve_id("CAN-2003-0773", "CAN-2003-0774", "CAN-2003-0775", "CAN-2003-0776", "CAN-2003-0777", "CAN-2003-0778");
  72.  script_bugtraq_id(8593, 8594, 8595, 8596, 8597, 8600);
  73.  
  74.  script_description(english: desc);
  75.  script_copyright(english: "This script is (C) 2004 Michel Arboi");
  76.  script_name(english: "[DSA379] DSA-379-1 sane-backends");
  77.  script_category(ACT_GATHER_INFO);
  78.  script_family(english: "Debian Local Security Checks");
  79.  script_dependencies("ssh_get_info.nasl");
  80.  script_require_keys("Host/Debian/dpkg-l");
  81.  script_summary(english: "DSA-379-1 sane-backends");
  82.  exit(0);
  83. }
  84.  
  85. include("debian_package.inc");
  86.  
  87. w = 0;
  88. if (deb_check(prefix: 'libsane', release: '3.0', reference: '1.0.7-4')) {
  89.  w ++;
  90.  if (report_verbosity > 0) desc = strcat(desc, '\nThe package libsane is vulnerable in Debian 3.0.\nUpgrade to libsane_1.0.7-4\n');
  91. }
  92. if (deb_check(prefix: 'libsane-dev', release: '3.0', reference: '1.0.7-4')) {
  93.  w ++;
  94.  if (report_verbosity > 0) desc = strcat(desc, '\nThe package libsane-dev is vulnerable in Debian 3.0.\nUpgrade to libsane-dev_1.0.7-4\n');
  95. }
  96. if (deb_check(prefix: 'sane-backends', release: '3.2', reference: '1.0')) {
  97.  w ++;
  98.  if (report_verbosity > 0) desc = strcat(desc, '\nThe package sane-backends is vulnerable in Debian sid.\nUpgrade to sane-backends_1.0\n');
  99. }
  100. if (deb_check(prefix: 'sane-backends', release: '3.0', reference: '1.0.7-4')) {
  101.  w ++;
  102.  if (report_verbosity > 0) desc = strcat(desc, '\nThe package sane-backends is vulnerable in Debian woody.\nUpgrade to sane-backends_1.0.7-4\n');
  103. }
  104. if (w) { security_hole(port: 0, data: desc); }
  105.